package com.example.sql_2_code_demo.entity;

import java.util.Date;
import java.io.Serializable;

/**
 * 订单开票信息；or_order : or_order_invoice => 多对一(OrderInvoice)实体类
 *
 * @author makejava
 * @since 2022-10-09 10:01:36
 */
public class OrderInvoice implements Serializable {
    private static final long serialVersionUID = -66479362599185889L;
    /**
     * 主键id
     */
    private Long id;
    /**
     * 订单发票状态：0：未知；1：待申请；2待开票；3：已开票
     */
    private Integer invoiceStatus;
    /**
     * 商品分类名称快照，多个名称之间使用英文逗号（,）隔开
     */
    private String selfGoodsCategoryNames;
    /**
     * 商品分类id，多个id之间使用英文逗号（,）隔开
     */
    private String selfGoodsCategoryIds;
    /**
     * 发票照片的url，多个照片之间使用英文逗号（,）隔开
     */
    private String invoicePicturesUrl;
    /**
     * 开票时间
     */
    private Date createInvoiceTime;
    /**
     * 开票人id
     */
    private Long drawerUserId;
    /**
     * 发票状态：1：待开票；2：已开票；3已寄送
     */
    private Integer status;
    /**
     * 创建人
     */
    private Long createUser;
    /**
     * 创建部门
     */
    private Long createDept;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改人
     */
    private Long updateUser;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 是否已删除
     */
    private Integer isDeleted;
    /**
     * 租户ID
     */
    private String tenantId;
    /**
     * 抬头类型：1->个人；2->企业发票；3->事业单位；
     */
    private Integer invoiceHeadType;
    /**
     * 基本开户账号
     */
    private String depositAccount;
    /**
     * 用户类型：1->企业；2->个人；
     */
    private Long userType;
    /**
     * 申请开票的用户ID
     */
    private Long applyUserId;
    /**
     * 发票类型：1->增值税普通发票；2->增值税专用发票；
     */
    private Integer invoiceType;
    /**
     * 纳税人识别号
     */
    private String identificationNumber;
    /**
     * 开户银行名称
     */
    private String depositBankName;
    /**
     * 注册场所地址
     */
    private String registeredPlaceAddress;
    /**
     * 注册固定电话
     */
    private String registeredTelephone;
    /**
     * 抬头内容
     */
    private String headContent;
    /**
     * 发票金额：单位元
     */
    private Double totalAmount;
    /**
     * 发票收件地址：省、市、区、详细地址之间使用英文逗号分隔
     */
    private String receiveAddress;
    /**
     * 收票人电子邮件地址
     */
    private String receiverEmail;
    /**
     * 收票人名称
     */
    private String receiverName;
    /**
     * 收票人电话
     */
    private String receiverPhoneNumber;
    /**
     * 此发票关联的订单号列表，订单号之间使用英文逗号（,）隔开
     */
    private String orderCodes;
    /**
     * 发票金额
     */
    private Double invoiceTotalAmount;
    /**
     * 发票代码
     */
    private String invoiceCode;
    /**
     * 发票号码
     */
    private String invoiceNumber;
    /**
     * 是否需要寄送发票：0：不寄送；1：寄送
     */
    private Integer deliveryInvoice;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(Integer invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public String getSelfGoodsCategoryNames() {
        return selfGoodsCategoryNames;
    }

    public void setSelfGoodsCategoryNames(String selfGoodsCategoryNames) {
        this.selfGoodsCategoryNames = selfGoodsCategoryNames;
    }

    public String getSelfGoodsCategoryIds() {
        return selfGoodsCategoryIds;
    }

    public void setSelfGoodsCategoryIds(String selfGoodsCategoryIds) {
        this.selfGoodsCategoryIds = selfGoodsCategoryIds;
    }

    public String getInvoicePicturesUrl() {
        return invoicePicturesUrl;
    }

    public void setInvoicePicturesUrl(String invoicePicturesUrl) {
        this.invoicePicturesUrl = invoicePicturesUrl;
    }

    public Date getCreateInvoiceTime() {
        return createInvoiceTime;
    }

    public void setCreateInvoiceTime(Date createInvoiceTime) {
        this.createInvoiceTime = createInvoiceTime;
    }

    public Long getDrawerUserId() {
        return drawerUserId;
    }

    public void setDrawerUserId(Long drawerUserId) {
        this.drawerUserId = drawerUserId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Long getCreateDept() {
        return createDept;
    }

    public void setCreateDept(Long createDept) {
        this.createDept = createDept;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public Integer getInvoiceHeadType() {
        return invoiceHeadType;
    }

    public void setInvoiceHeadType(Integer invoiceHeadType) {
        this.invoiceHeadType = invoiceHeadType;
    }

    public String getDepositAccount() {
        return depositAccount;
    }

    public void setDepositAccount(String depositAccount) {
        this.depositAccount = depositAccount;
    }

    public Long getUserType() {
        return userType;
    }

    public void setUserType(Long userType) {
        this.userType = userType;
    }

    public Long getApplyUserId() {
        return applyUserId;
    }

    public void setApplyUserId(Long applyUserId) {
        this.applyUserId = applyUserId;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getIdentificationNumber() {
        return identificationNumber;
    }

    public void setIdentificationNumber(String identificationNumber) {
        this.identificationNumber = identificationNumber;
    }

    public String getDepositBankName() {
        return depositBankName;
    }

    public void setDepositBankName(String depositBankName) {
        this.depositBankName = depositBankName;
    }

    public String getRegisteredPlaceAddress() {
        return registeredPlaceAddress;
    }

    public void setRegisteredPlaceAddress(String registeredPlaceAddress) {
        this.registeredPlaceAddress = registeredPlaceAddress;
    }

    public String getRegisteredTelephone() {
        return registeredTelephone;
    }

    public void setRegisteredTelephone(String registeredTelephone) {
        this.registeredTelephone = registeredTelephone;
    }

    public String getHeadContent() {
        return headContent;
    }

    public void setHeadContent(String headContent) {
        this.headContent = headContent;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getReceiveAddress() {
        return receiveAddress;
    }

    public void setReceiveAddress(String receiveAddress) {
        this.receiveAddress = receiveAddress;
    }

    public String getReceiverEmail() {
        return receiverEmail;
    }

    public void setReceiverEmail(String receiverEmail) {
        this.receiverEmail = receiverEmail;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverPhoneNumber() {
        return receiverPhoneNumber;
    }

    public void setReceiverPhoneNumber(String receiverPhoneNumber) {
        this.receiverPhoneNumber = receiverPhoneNumber;
    }

    public String getOrderCodes() {
        return orderCodes;
    }

    public void setOrderCodes(String orderCodes) {
        this.orderCodes = orderCodes;
    }

    public Double getInvoiceTotalAmount() {
        return invoiceTotalAmount;
    }

    public void setInvoiceTotalAmount(Double invoiceTotalAmount) {
        this.invoiceTotalAmount = invoiceTotalAmount;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public Integer getDeliveryInvoice() {
        return deliveryInvoice;
    }

    public void setDeliveryInvoice(Integer deliveryInvoice) {
        this.deliveryInvoice = deliveryInvoice;
    }

}

